﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>ProcessEditorEventInfo</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../styles/styles.css">
<script language="javascript" src='../links.js' type="text/javascript"></script>
</head>
<body>

<h1>ProcessEditorEventInfo</h1>
<div class=navbar>
<a href="../index.html">главная</a> |
<a href="index.html">структуры</a> |
<a href="../editorapi/index.html">Editor API</a>
</div>

<div class=shortdescr>
Структура <code>ProcessEditorEventInfo</code> содержит информацию о событии, поступающем в функцию <a href="../exported_functions/processeditoreventw.html">ProcessEditorEventW</a>.
</div>

<pre class=syntax>
struct ProcessEditorEventInfo
{
  size_t StructSize;
  intptr_t Event;
  void *Param;
  intptr_t EditorID;
};
</pre>

<h3>Элементы</h3>
<div class=descr>
  <div class=dfn>StructSize</div>
    <div class=dfndescr>Это поле содержит размер структуры <code>ProcessEditorEventInfo</code>.</div>
  <div class=dfn>Event</div>
    <div class=dfndescr>Тип события.<br>
    Может быть одной из следующих величин (перечисление <a name="EDITOR_EVENTS">EDITOR_EVENTS</a>):
    <table class="cont">
    <tr class="cont"><th class="cont" width="40%">Событие</th><th class="cont" width="60%">Описание</th></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="EE_CLOSE">EE_CLOSE</a></td>
    <td class="cont" width="60%">Одно из окон редактора закрывается.<br>
    Плагин может использовать это сообщение для освобождения внутренних структур данных. Заметьте, что несколько окон редактора могут работать одновременно.<br>
    EditorID может быть получен ранее с использованием <a href="../service_functions/editorcontrol.html#ECTL_GETINFO">ECTL_GETINFO</a> команды <a href="../service_functions/editorcontrol.html">EditorControl</a>.
    Но плагин не должен вызывать <code>EditorControl</code> при обработке этого сообщения потому что редактор уже закрыт.<br>
    <code>Param = NULL</code>.<br>
    Функция <a href="../exported_functions/processeditoreventw.html">ProcessEditorEventW</a> должна вернуть <code>0</code>.
    <p class=note><img src="../../images/note.gif" alt="Замечание для EE_CLOSE" width="10" height="10"> Замечание.</p>
    <UL class=note><LI>В <code>EE_CLOSE</code> допускается использовать только <a href="../service_functions/editorcontrol.html#ECTL_GETINFO">ECTL_GETINFO</a> и <a href="../service_functions/editorcontrol.html#ECTL_GETBOOKMARKS">ECTL_GETBOOKMARKS</a>.</LI></UL>
    </td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="EE_READ">EE_READ</a></td>
    <td class="cont" width="60%">Новый файл загружен в редактор. Плагин может использовать команды функции <a href="../service_functions/editorcontrol.html">EditorControl</a> для модификации считанных данных.<br>
    <code>Param = NULL</code>.<br>
    Функция <a href="../exported_functions/processeditoreventw.html">ProcessEditorEventW</a> должна вернуть <code>0</code>.</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="EE_SAVE">EE_SAVE</a></td>
    <td class="cont" width="60%">Отредактированный файл собираются сохранять. Плагин может использовать команды функции <a href="../service_functions/editorcontrol.html">EditorControl</a> для модификации данных перед сохранением.<br>
    <code>Param</code> указывает на структуру <a href="editorsavefile.html">EditorSaveFile</a>.
    <br>Функция <a href="../exported_functions/processeditoreventw.html">ProcessEditorEventW</a> должна вернуть <code>0</code>.</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="EE_REDRAW">EE_REDRAW</a></td>
    <td class="cont" width="60%">Редактор собирается перерисовать экран.<br>
    <code>Param</code> указывает на константу <code>EEREDRAW_ALL</code>.<br>
    Функция <a href="../exported_functions/processeditoreventw.html">ProcessEditorEventW</a> должна вернуть <code>0</code>.<br><br></td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="EE_KILLFOCUS">EE_KILLFOCUS</a></td>
    <td class="cont" width="60%">Редактор потерял фокус ввода.<br><code>Param</code> указывает на переменную, содержащую значение EditorID редактора, теряющего фокус.<br>
    Функция <a href="../exported_functions/processeditoreventw.html">ProcessEditorEventW</a> должна вернуть <code>0</code>.</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="EE_GOTFOCUS">EE_GOTFOCUS</a></td>
    <td class="cont" width="60%">Редактор получил фокус ввода.<br><code>Param</code> указывает на переменную, содержащую значение EditorID редактора, получающего фокус.<br>
    Функция <a href="../exported_functions/processeditoreventw.html">ProcessEditorEventW</a> должна вернуть <code>0</code>.</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="EE_CHANGE">EE_CHANGE</a></td>
    <td class="cont" width="60%">В редакторе изменился текст.<br><code>Param</code> указывает на переменную, типа <a href="editorchange.html">EditorChange</a>.<br>
    Функция <a href="../exported_functions/processeditoreventw.html">ProcessEditorEventW</a> должна вернуть <code>0</code>.<br>
    Плагин должен <a href="../service_functions/editorcontrol.html#ECTL_SUBSCRIBECHANGEEVENT">подписаться</a> на это событие, чтоб получать его.
    <p class=note><img src="../../images/note.gif" alt="Замечание для EE_CHANGE" width="10" height="10"> Замечание.</p>
    <UL class=note><LI><a href="../service_functions/editorcontrol.html">EditorControl</a> вызванная из <code>EE_CHANGE</code> вернет <code>FALSE</code>.</LI></UL></td></tr>
    </table>
    <p class=warning><img src="../../images/warning.gif" alt="Замечание для EE_REDRAW и EE_GOTFOCUS" width="10" height="10"> Внимание!</p>
    <UL class=warning>
       <LI><b>При обработке <code>EE_REDRAW</code> и <code>EE_GOTFOCUS</code> <u>НЕЖЕЛАТЕЛЬНО</u> ИСПОЛЬЗОВАТЬ
       <a href="../service_functions/message.html">Info.Message</a>,
       <a href="../service_functions/menu.html">Info.Menu</a>,
       <a href="../service_functions/dialogrun.html">Info.DialogRun</a>,
       <a href="../service_functions/showhelp.html">Info.ShowHelp</a>.
       Вызов этих функций приводит к рекурсивному вызову <code>EE_REDRAW</code> и <code>EE_GOTFOCUS</code> соответственно.</b>
       </LI></UL>
    </div>
  <div class=dfn>Param</div>
    <div class=dfndescr>Значение указателя зависит от типа события. Смотрите описание событий для уточнения информации.</div>
  <div class=dfn>EditorID</div>
    <div class=dfndescr>Идентификатор редактора, вызвавшей функцию <a href="../exported_functions/processeditoreventw.html">ProcessEditorEventW</a>.</div>
</div>

<h3>Замечания</h3>
<div class=descr>
<li><code>EE_READ</code> вызывается только один раз для файла. </li>
<li><code>EE_SAVE</code> вызывается при каждом нажатии <kbd>F2</kbd> или <kbd>Shift</kbd>+<kbd>F2</kbd>.</li>
<li><code>EE_REDRAW</code> вызывается при любой перерисовке экрана (в частности, при движении курсора)</li>
</div>

<div class=see>Смотрите также:</div>
<div class=seecont>
<a href="index.html">Структуры</a>,
<a href="../exported_functions/processeditoreventw.html">ProcessEditorEventW</a>
</div>

</body>
</html>